#include<stdio.h>
#include <unistd.h>
#include <sys/types.h>

//这是getid和getpid是在上面这两的头文件中的，sleep只在unistd里面

int main()
{
  pid_t id = fork();//在此进程上创建子进程，数据从父进程中继承下来，而代码和父进程共用（因没有代码来源）

  if(id<0)
  {
     printf("子进程创建失败\n");//没有子进程，此进程返回-1
     return -1;
  }
  else
  {
    if(id ==0)
    {//子进程返回0标识成功

      while(1)
       {
           printf("这是子进程，进程id是%d，父进程id是%d\n",getpid(),getppid());
           Sleep(1000);
       }
    }

    else
    {//创建子进程成功，父进程需要得到子进程的标识信息，故父进程返回子进程的pid

      while(1)
       {
           printf("这是父进程，进程id是%d，父进程id是%d\n",getpid(),getppid());
           Sleep(1000);
       }
    }

  }

   return 0;
}
